Oscillators are ubiquitous in physical systems, especially electronic and optical systems, where oscillators are utilized in phase locked loops, voltage controlled oscillators, microprocessors and transceivers. For example, in radio frequency (RF) communication systems, oscillators are used for frequency translation of information signals and for channel selection. Oscillators are also present in digital electronic systems that require a time reference or clock signal to synchronize operations.
The design, testing and fabrication of oscillator circuits are often an expensive and time-consuming process. The complexity and fabrication costs associated with current oscillators have led to the development of a number of products for simulating such oscillators. Such simulators allow the characteristics and operation of the oscillator to be evaluated before the prototypes of the oscillator are even manufactured. Several types of computer aided design (CAD) tools have been developed or proposed to facilitate the design and fabrication of oscillator circuits.
One characteristic of interest for any oscillator is the initial transient response of the oscillator, shown in FIG. 1, typically characterized by the time constant, T-c, until the oscillator circuit reaches steady state. Considerable effort has been expended over the years in understanding the transient response of oscillators and in developing analytical, computational and experimental techniques for its characterization. For a brief review of such analytical, computational and experimental techniques, see, for example, G. Denk, "A New Efficient Numerical Integration Scheme For Highly Oscillatory Electric Circuits," Int. Series of Numerical x Math., Vol. 117, 1-15, (1994); Q. Zheng, "The Transient Behavior of an Oscillator," Int. Series of Numerical Math., Vol. 117, 143-164 (1994); R. E. Mickens, "Oscillations In Planar Dynamic Systems," (World Scientific, 1996), each incorporated by reference herein.
The simulation of oscillator circuits exhibiting steady-state behavior, i.e., operating under DC conditions, is relatively straightforward because only the algebraic portion of the differential equations has to be solved. Under steady-state conditions, the oscillator circuit may be simulated by a system of non-linear equations that may be solved using an iterative approach. The number of non-linear equations is at least equal to the number of nodes in the oscillator circuit. For periodic steady state, the system's differential algebraic equations also have to be solved.
The simulation of oscillator circuits exhibiting transient behavior, i.e., prior to reaching steady state, however, is substantially more complex. While the number of non-linear equations describing the oscillator circuit is still at least equal to the number of nodes in the oscillator circuit, equations corresponding to inductive or capacitive devices will be differential equations. Thus, under transient conditions, the oscillator circuit must be simulated using a system of non-linear differential equations. Conventional simulation techniques solve the system of non-linear differential equations using an iterative or empirical approach. The solution is even more complicated when a system is free running, or autonomous, and does not have an outside force driving the frequency. Thus, the frequency, and consequently, the period, are not known a priori.
The system of non-linear differential equations must be solved at each time point. Furthermore, the time-step is fixed by the highest frequency of interest, .tau..sub.eN, whereas the time interval for which a transient solution has to be calculated is fixed by the smallest time constant, .tau..sub.C, of the system. Traditional integration formulas use expansions in the form of Taylor series or polynomial approximations. Because these approximations are not well suited for oscillatory solutions, the time-step must be much smaller than the period of oscillation. Examples for which the settling time of a circuit is tens of times larger than the period of the asymptotic steady state solution include high Q-filters, oscillators and phase-locked loops (PLLs).
FIG. 1 shows the initial transient response of a representative oscillator. The oscillation frequency of this oscillator is much higher than the time constant, .tau..sub.c, of the envelope, leading to extraordinarily long run-times for its simulation. Such run-times always result for quasi-sinusoidal oscillators, such as quartz oscillators. This is because the lower the distortion, the longer the settling time. Hence, traditional time-domain simulation methods are prohibitive.
In free running systems, the input signal is non-periodic, and thus the system of non-linear differential equations can only be solved by a time-domain analysis. As previously indicated, in systems having long settling times, such as quartz oscillators, the number of time points required to simulate the envelope using time-domain analysis becomes prohibitively large. The well known "envelope following" technique has been developed to overcome this problem. The envelope following technique approximates the oscillation by a series of Fourier coefficients. As shown in FIG. 2, the envelope following technique decouples the waveform and provides one solution for the high frequency oscillation and another solution for the envelope.
In other words, the envelope following technique iteratively solves for the complete waveform over one clock period, using time integration techniques, then skips a number of clock cycles (.DELTA.t*), before solving another waveform over one clock period. Doing so reduces the number of time points to be solved. For each clock period, (2k+1) samples of the waveform are obtained in time steps, .DELTA.t, where k is the number of the highest harmonic of interest. The number of clock cycles that can be skipped depends on how quickly the envelope is changing. The (2k+1) Fourier coefficients, X.sub.k (t), that characterize the waveform are each obtained from a vector of (2k+1) samples {x.sub.k (t.sub.0), x.sub.k (t.sub.0 +.DELTA.t), . . . x.sub.k (t.sub.0 +n.DELTA.t), . . . x.sub.k (t.sub.0 +2k.DELTA.t)}. Since there is only one measurement at time (t.sub.0) to calculate the (2k+1) Fourier coefficients, X.sub.k (t), some averaging or assumption must be utilized, which results in incorrect Fourier coefficients. For example, one possible assumption used by conventional techniques is that the Fourier coefficients, X.sub.k (t.sub.0) equals X.sub.k (t.sub.0 +.tau.), for all .tau. between zero and the time at the end of the period, T. In other words, such techniques assume that the Fourier coefficients are the same over a clock period, which results in an inaccurate characterization of the initial transient response or settling time, .tau..sub.c. Since only one measurement in time (t.sub.0) is used to calculate the (2k+1) Fourier coefficients, X.sub.k (t), the Fourier system is not uniquely defined.